package com.neuedu.adivce;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.*;
import org.springframework.stereotype.Component;


@Component
@Aspect     //@Aspect定义此类为方面代码，即是一个通知。
public class MyAdvice {


    /**
     *    定义一个切点  execution(* com.neuedu.aop.service.*.insert(..))
     *       第一个* 代表 类型
     *        insert 代表 这些类中所有 insert方法
     */

    @Pointcut("execution(* com.neuedu.proxy.service.impl.*.*(..))")
    public void saveMethod(){}



    /**
     *  前置通知
     * @param joinpoint
     */
    @Before("saveMethod()")
    public void beforeMethod(JoinPoint joinpoint){
        System.out.println("【前置通知日志】" + joinpoint.toString());
    }



}